home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / mach / mach_interface.h < prev    next >
C/C++ Source or Header  |  1995-02-14  |  8KB  |  358 lines

  1. #ifndef    _mach
  2. #define    _mach
  3.  
  4. /* Module mach */
  5.  
  6. #include <mach/kern_return.h>
  7. #include <mach/port.h>
  8. #include <mach/message.h>
  9.  
  10. #ifndef    mig_external
  11. #define mig_external extern
  12. #endif
  13.  
  14. #include <mach/std_types.h>
  15. #include <mach/mach_types.h>
  16.  
  17. /* Routine task_create */
  18. mig_external kern_return_t task_create (
  19.     task_t target_task,
  20.     boolean_t inherit_memory,
  21.     task_t *child_task);
  22.  
  23. /* Routine task_terminate */
  24. mig_external kern_return_t task_terminate (
  25.     task_t target_task);
  26.  
  27. /* Routine task_threads */
  28. mig_external kern_return_t task_threads (
  29.     task_t target_task,
  30.     thread_array_t *thread_list,
  31.     unsigned int *thread_listCnt);
  32.  
  33. /* Routine thread_terminate */
  34. mig_external kern_return_t thread_terminate (
  35.     thread_t target_thread);
  36.  
  37. /* Routine vm_allocate */
  38. mig_external kern_return_t vm_allocate (
  39.     vm_task_t target_task,
  40.     vm_address_t *address,
  41.     vm_size_t size,
  42.     boolean_t anywhere);
  43.  
  44. /* Routine vm_deallocate */
  45. mig_external kern_return_t vm_deallocate (
  46.     vm_task_t target_task,
  47.     vm_address_t address,
  48.     vm_size_t size);
  49.  
  50. /* Routine vm_protect */
  51. mig_external kern_return_t vm_protect (
  52.     vm_task_t target_task,
  53.     vm_address_t address,
  54.     vm_size_t size,
  55.     boolean_t set_maximum,
  56.     vm_prot_t new_protection);
  57.  
  58. /* Routine vm_inherit */
  59. mig_external kern_return_t vm_inherit (
  60.     vm_task_t target_task,
  61.     vm_address_t address,
  62.     vm_size_t size,
  63.     vm_inherit_t new_inheritance);
  64.  
  65. /* Routine vm_read */
  66. mig_external kern_return_t vm_read (
  67.     vm_task_t target_task,
  68.     vm_address_t address,
  69.     vm_size_t size,
  70.     pointer_t *data,
  71.     unsigned int *dataCnt);
  72.  
  73. /* Routine vm_write */
  74. mig_external kern_return_t vm_write (
  75.     vm_task_t target_task,
  76.     vm_address_t address,
  77.     pointer_t data,
  78.     unsigned int dataCnt);
  79.  
  80. /* Routine vm_copy */
  81. mig_external kern_return_t vm_copy (
  82.     vm_task_t target_task,
  83.     vm_address_t source_address,
  84.     vm_size_t size,
  85.     vm_address_t dest_address);
  86.  
  87. /* Routine vm_region */
  88. mig_external kern_return_t vm_region (
  89.     vm_task_t target_task,
  90.     vm_address_t *address,
  91.     vm_size_t *size,
  92.     vm_prot_t *protection,
  93.     vm_prot_t *max_protection,
  94.     vm_inherit_t *inheritance,
  95.     boolean_t *is_shared,
  96.     memory_object_name_t *object_name,
  97.     vm_offset_t *offset);
  98.  
  99. /* Routine vm_statistics */
  100. mig_external kern_return_t vm_statistics (
  101.     vm_task_t target_task,
  102.     vm_statistics_data_t *vm_stats);
  103.  
  104. /* Routine task_by_unix_pid */
  105. mig_external kern_return_t task_by_unix_pid (
  106.     task_t target_task,
  107.     int process_id,
  108.     task_t *result_task);
  109.  
  110. /* Routine unix_pid */
  111. mig_external kern_return_t unix_pid (
  112.     task_t target_task,
  113.     int *process_id);
  114.  
  115. /* Routine netipc_listen */
  116. mig_external kern_return_t netipc_listen (
  117.     port_t request_port,
  118.     int src_addr,
  119.     int dst_addr,
  120.     int src_port,
  121.     int dst_port,
  122.     int protocol,
  123.     port_t ipc_port);
  124.  
  125. /* Routine netipc_ignore */
  126. mig_external kern_return_t netipc_ignore (
  127.     port_t request_port,
  128.     port_t ipc_port);
  129.  
  130. /* Routine xxx_host_info */
  131. mig_external kern_return_t xxx_host_info (
  132.     port_t target_task,
  133.     machine_info_data_t *info);
  134.  
  135. /* Routine xxx_slot_info */
  136. mig_external kern_return_t xxx_slot_info (
  137.     task_t target_task,
  138.     int slot,
  139.     machine_slot_data_t *info);
  140.  
  141. /* Routine xxx_cpu_control */
  142. mig_external kern_return_t xxx_cpu_control (
  143.     task_t target_task,
  144.     int cpu,
  145.     boolean_t running);
  146.  
  147. /* Routine task_suspend */
  148. mig_external kern_return_t task_suspend (
  149.     task_t target_task);
  150.  
  151. /* Routine task_resume */
  152. mig_external kern_return_t task_resume (
  153.     task_t target_task);
  154.  
  155. /* Routine task_get_special_port */
  156. mig_external kern_return_t task_get_special_port (
  157.     task_t task,
  158.     int which_port,
  159.     port_t *special_port);
  160.  
  161. /* Routine task_set_special_port */
  162. mig_external kern_return_t task_set_special_port (
  163.     task_t task,
  164.     int which_port,
  165.     port_t special_port);
  166.  
  167. /* Routine task_info */
  168. mig_external kern_return_t task_info (
  169.     task_t target_task,
  170.     int flavor,
  171.     task_info_t task_info_out,
  172.     unsigned int *task_info_outCnt);
  173.  
  174. /* Routine thread_create */
  175. mig_external kern_return_t thread_create (
  176.     task_t parent_task,
  177.     thread_t *child_thread);
  178.  
  179. /* Routine thread_suspend */
  180. mig_external kern_return_t thread_suspend (
  181.     thread_t target_thread);
  182.  
  183. /* Routine thread_resume */
  184. mig_external kern_return_t thread_resume (
  185.     thread_t target_thread);
  186.  
  187. /* Routine thread_abort */
  188. mig_external kern_return_t thread_abort (
  189.     thread_t target_thread);
  190.  
  191. /* Routine thread_get_state */
  192. mig_external kern_return_t thread_get_state (
  193.     thread_t target_thread,
  194.     int flavor,
  195.     thread_state_t old_state,
  196.     unsigned int *old_stateCnt);
  197.  
  198. /* Routine thread_set_state */
  199. mig_external kern_return_t thread_set_state (
  200.     thread_t target_thread,
  201.     int flavor,
  202.     thread_state_t new_state,
  203.     unsigned int new_stateCnt);
  204.  
  205. /* Routine thread_get_special_port */
  206. mig_external kern_return_t thread_get_special_port (
  207.     thread_t thread,
  208.     int which_port,
  209.     port_t *special_port);
  210.  
  211. /* Routine thread_set_special_port */
  212. mig_external kern_return_t thread_set_special_port (
  213.     thread_t thread,
  214.     int which_port,
  215.     port_t special_port);
  216.  
  217. /* Routine thread_info */
  218. mig_external kern_return_t thread_info (
  219.     thread_t target_thread,
  220.     int flavor,
  221.     thread_info_t thread_info_out,
  222.     unsigned int *thread_info_outCnt);
  223.  
  224. /* Routine port_names */
  225. mig_external kern_return_t port_names (
  226.     task_t task,
  227.     port_name_array_t *port_names_p,
  228.     unsigned int *port_names_pCnt,
  229.     port_type_array_t *port_types,
  230.     unsigned int *port_typesCnt);
  231.  
  232. /* Routine port_type */
  233. mig_external kern_return_t port_type (
  234.     task_t task,
  235.     port_name_t port_name,
  236.     port_type_t *port_type_p);
  237.  
  238. /* Routine port_rename */
  239. mig_external kern_return_t port_rename (
  240.     task_t task,
  241.     port_name_t old_name,
  242.     port_name_t new_name);
  243.  
  244. /* Routine port_allocate */
  245. mig_external kern_return_t port_allocate (
  246.     task_t task,
  247.     port_name_t *port_name);
  248.  
  249. /* Routine port_deallocate */
  250. mig_external kern_return_t port_deallocate (
  251.     task_t task,
  252.     port_name_t port_name);
  253.  
  254. /* Routine port_set_backlog */
  255. mig_external kern_return_t port_set_backlog (
  256.     task_t task,
  257.     port_name_t port_name,
  258.     int backlog);
  259.  
  260. /* Routine port_status */
  261. mig_external kern_return_t port_status (
  262.     task_t task,
  263.     port_name_t port_name,
  264.     port_set_name_t *enabled,
  265.     int *num_msgs,
  266.     int *backlog,
  267.     boolean_t *ownership,
  268.     boolean_t *receive_rights);
  269.  
  270. /* Routine port_set_allocate */
  271. mig_external kern_return_t port_set_allocate (
  272.     task_t task,
  273.     port_set_name_t *set_name);
  274.  
  275. /* Routine port_set_deallocate */
  276. mig_external kern_return_t port_set_deallocate (
  277.     task_t task,
  278.     port_set_name_t set_name);
  279.  
  280. /* Routine port_set_add */
  281. mig_external kern_return_t port_set_add (
  282.     task_t task,
  283.     port_set_name_t set_name,
  284.     port_name_t port_name);
  285.  
  286. /* Routine port_set_remove */
  287. mig_external kern_return_t port_set_remove (
  288.     task_t task,
  289.     port_name_t port_name);
  290.  
  291. /* Routine port_set_status */
  292. mig_external kern_return_t port_set_status (
  293.     task_t task,
  294.     port_set_name_t set_name,
  295.     port_name_array_t *members,
  296.     unsigned int *membersCnt);
  297.  
  298. /* Routine port_insert_send */
  299. mig_external kern_return_t port_insert_send (
  300.     task_t task,
  301.     port_t my_port,
  302.     port_name_t his_name);
  303.  
  304. /* Routine port_extract_send */
  305. mig_external kern_return_t port_extract_send (
  306.     task_t task,
  307.     port_name_t his_name,
  308.     port_t *his_port);
  309.  
  310. /* Routine port_insert_receive */
  311. mig_external kern_return_t port_insert_receive (
  312.     task_t task,
  313.     port_all_t my_port,
  314.     port_name_t his_name);
  315.  
  316. /* Routine port_extract_receive */
  317. mig_external kern_return_t port_extract_receive (
  318.     task_t task,
  319.     port_name_t his_name,
  320.     port_all_t *his_port);
  321.  
  322. /* Routine port_set_backup */
  323. mig_external kern_return_t port_set_backup (
  324.     task_t task,
  325.     port_name_t port_name,
  326.     port_t backup,
  327.     port_t *previous);
  328.  
  329. /* Routine vm_machine_attribute */
  330. mig_external kern_return_t vm_machine_attribute (
  331.     vm_task_t target_task,
  332.     vm_address_t address,
  333.     vm_size_t size,
  334.     vm_machine_attribute_t attribute,
  335.     vm_machine_attribute_val_t *value);
  336.  
  337. /* Routine vm_synchronize */
  338. mig_external kern_return_t vm_synchronize (
  339.     vm_task_t target_task,
  340.     vm_address_t address,
  341.     vm_size_t size);
  342.  
  343. /* Routine vm_set_policy */
  344. mig_external kern_return_t vm_set_policy (
  345.     vm_task_t target_task,
  346.     vm_address_t address,
  347.     vm_size_t size,
  348.     int policy);
  349.  
  350. /* Routine vm_deactivate */
  351. mig_external kern_return_t vm_deactivate (
  352.     vm_task_t target_task,
  353.     vm_address_t address,
  354.     vm_size_t size,
  355.     int when);
  356.  
  357. #endif    _mach
  358.